Skip to content

Fix CustomizeCode tool to return package and language#15494

Open
samvaity wants to merge 2 commits intomainfrom
patch/customized-code-updates
Open

Fix CustomizeCode tool to return package and language#15494
samvaity wants to merge 2 commits intomainfrom
patch/customized-code-updates

Conversation

@samvaity
Copy link
Copy Markdown
Member

@samvaity samvaity commented May 5, 2026

Noticed package_type and language is Unknown because this response path never sets it

Copilot AI review requested due to automatic review settings May 5, 2026 17:58
@samvaity samvaity requested a review from a team as a code owner May 5, 2026 17:58
@github-actions github-actions Bot added the azsdk-cli Issues related to Azure/azure-sdk-tools::tools/azsdk-cli label May 5, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the azsdk_customized_code_update tool to populate PackageName, Language, PackageType, and TypeSpecProject on most response paths by resolving PackageInfo up-front and funneling returns through a shared response-enrichment helper.

Changes:

  • Resolve PackageInfo early via the selected LanguageService (with warning-only failure handling).
  • Introduce a local CreateResponse(...) helper that fills in package/language/type metadata consistently.
  • Wrap most existing early-return responses with CreateResponse(...) so metadata is present even on failures.

Comment on lines +202 to +206
CustomizedCodeUpdateResponse CreateResponse(CustomizedCodeUpdateResponse response)
{
response.PackageName ??= packageInfo?.PackageName;
response.Language = packageInfo?.Language ?? languageService.Language;
response.PackageType = packageInfo?.SdkType ?? SdkType.Unknown;
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot apply changes based on this feedback

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied in commit 1ba4648. The remainder of RunUpdateAsync (after languageService/packageInfo are resolved and CreateResponse is defined) is now wrapped in an outer try/catch that:

  • Rethrows OperationCanceledException to honor cancellation
  • Returns CreateResponse(...) with enriched package/language metadata for any unexpected errors from downstream operations (regen, build, second classification pass, patching, etc.)

Also fixed the GetPackageInfo catch block (the first reviewer comment) to include catch (OperationCanceledException) when (ct.IsCancellationRequested) { throw; } before the broad catch so cancellation isn't swallowed there either.

@ronniegeraghty ronniegeraghty added the AzSDK Tools Agent Issue related to the AzSDK Tools Agent. label May 5, 2026
…nder in try/catch

Agent-Logs-Url: https://github.com/Azure/azure-sdk-tools/sessions/20d768ee-6217-409a-81b5-4be796043ded

Co-authored-by: samvaity <16845631+samvaity@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented May 5, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 0t3vsblobprodcus362.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • 1javsblobprodcus364.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • 2kmvsblobprodcus39.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • 37cvsblobprodcus359.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • 4m6vsblobprodcus384.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • 4myvsblobprodcus32.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • 4vyvsblobprodcus361.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • 7devsblobprodcus323.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • 7k6vsblobprodcus337.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • 7tjvsblobprodcus341.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • ajhvsblobprodcus363.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • d0svsblobprodcus381.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • dlbvsblobprodcus316.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • fdpvsblobprodcus345.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • gervsblobprodcus329.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • ibzvsblobprodcus369.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • jd4vsblobprodcus366.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • k4kvsblobprodcus344.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • kh4vsblobprodcus325.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • kmuvsblobprodcus389.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • kxqvsblobprodcus376.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • l49vsblobprodcus358.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • l7avsblobprodcus319.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • m16vsblobprodcus374.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • m6xvsblobprodcus342.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • n3kvsblobprodcus335.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • ofvvsblobprodcus315.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • pdfvsblobprodcus380.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • pe4vsblobprodcus351.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • s4uvsblobprodcus326.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • s8mvsblobprodcus38.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • sc4vsblobprodcus331.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • se1vsblobprodcus349.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • u3hvsblobprodcus371.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • ukkvsblobprodcus352.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • uy6vsblobprodcus34.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • vwvvsblobprodcus334.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • yluvsblobprodcus367.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)
  • yttvsblobprodcus357.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build Azure.Sdk.Tools.Cli/Azure.Sdk.Tools.Cli.csproj (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AzSDK Tools Agent Issue related to the AzSDK Tools Agent. azsdk-cli Issues related to Azure/azure-sdk-tools::tools/azsdk-cli

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants